package com.cskaoyan.mapper;

import com.cskaoyan.bean.BaseParamBo;
import com.cskaoyan.bean.admin.user.UserAddressVo;
import com.cskaoyan.bean.pojo.Address;
import com.cskaoyan.bean.pojo.AddressExample;

import java.util.List;

import com.cskaoyan.bean.wx.address.AddressDetailVo;
import com.cskaoyan.bean.wx.address.AddressListVo;
import com.cskaoyan.bean.wx.address.AddressSaveBo;
import org.apache.ibatis.annotations.Param;

public interface AddressMapper {
    long countByExample(AddressExample example);

    int deleteByExample(AddressExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Address record);

    int insertSelective(Address record);

    List<Address> selectByExample(AddressExample example);

    Address selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Address record, @Param("example") AddressExample example);

    int updateByExample(@Param("record") Address record, @Param("example") AddressExample example);

    int updateByPrimaryKeySelective(Address record);

    int updateByPrimaryKey(Address record);

    List<AddressListVo> select2(int userId);//wx/address/list

    AddressDetailVo select(@Param("id") Integer id);//wx/address/detail

    void update(AddressSaveBo addressSaveBo);//wx/address/save

    void delete(int id);//wx/address/delete

    List<UserAddressVo> selectAddressInfo(@Param("userId") Integer userId, @Param("username") String username, @Param("paramBo") BaseParamBo paramBo);


}